<?php 
/**
 * 
 * @see 04/Enero/2012
 * @author Rosanna Paberli Jimenez Rosario.
 *
 */

class DocumentosEstatusPaginaModel extends Model
{
	
	private $_nameTable = "SC_DocumentosEstatusPaginas";
	
	public function __construct()
	{
		parent::Model();
	}
	
	
	/**
	 * 
	 * Enter description here ...
	 * @param unknown_type $start
	 * @param unknown_type $offset
	 * @param unknown_type $sortname
	 * @param unknown_type $sortorder
	 */
    public function loadRegistros($start = false, $offset = false, $sortname = false, $sortorder = false)
	{
		
		 if($offset != false){
               $this->db->limit($offset, $start);
         }
		      
		 if($sortname != false && $sortorder != false){
		        $this->db->order_by($sortname, $sortorder);
		 }
		 
		$query = $this->db->get($this->_nameTable);
		return $this->_getArrayFromQueryResult($query);
		
	}
	
	/**
	 * 
	 * Obtiene todos los registros.
	 * @param unknown_type $resurt
	 */

	private function _getArrayFromQueryResult($resurt)
	{
		if($resurt->num_rows() == 0){
			return false;
		}
		
		$registros = array();
		
		foreach($resurt->result() as $record){
			$registros[] = new DocumentosEstatusPaginaTable($record);
		}
		
		return $registros;
	}
	
	/**
	 * buscar registros por id
	 * @param integer $id
	*/
    public function loadRegistrosById($id)
	{
		$query = $this->db->get_where($this->_nameTable, array('id_pagina' => $id));
		
		if($query->num_rows() == 0)
			return false;
		
			return new DocumentosEstatusPaginaTable($query->row());
		
	}
	
	/**
	 * buscar registros por id del documento
	 * @param integer $id
	*/
    public function loadRegistrosByIdDocumento($id)
	{
		
		$this->db->order_by('numero_pagina', 'ASC'); 
		
		$query = $this->db->get_where($this->_nameTable, array('id_documento' => $id));
		
		if($query->num_rows() == 0)
			return false;
		
			return $this->_getArrayFromQueryResult($query);
			
			
	}
	
	
    /**
	 * 
	 * 
	 * Enter description here ...
	 * @param  $idDocumentos
	 */
	public function getRegistrosINByIDDoc($idDocumentos)
	{
		
	    $query = $this->db->get_where($this->_nameTable, array('id_documento' => $idDocumentos));

		if($query->num_rows() == 0)
			return false;
		
			
	     return new DocumentosEstatusPaginaTable($query->row());

	}
	
     /**
	 * buscar cantidad de registros por id del documento
	 * @param integer $id
	 */
    public function loadRegistrosByidCantidad($id, $start = false, $offset = false, $sortname = false, $sortorder = false)
	{
		
	     if($offset != false){
               $this->db->limit($offset, $start);
         }
		      
		 if($sortname != false && $sortorder != false){
		        $this->db->order_by($sortname, $sortorder);
		 }
		 
		$query = $this->db->get_where($this->_nameTable, array('id_documento' => $id));
		
		if($query->num_rows() == 0)
			return false;
		
			return $query->num_rows();
		
	}
	
    /**
     * Agregar un registro
     * @param  $data
     */
	public function agregar($data)
	{
		if($this->db->insert($this->_nameTable, $data)){
			
			return true;
		}
		
			return false;
		
	}
	
	/**
	 * 
	 * Editar un registro
	 * @param  $data
	 * @param integer $id
	 */
	public function editar($data, $id)
	{
		if($this->db->update($this->_nameTable, $data, array("id_pagina" => $id))){
			
			return true;
		}
			return false;
	}
	
	
	/**
	 * Eliminar un registro.
	 * @param integer $id
	 */
	public function eliminar($id)
	{
		if($this->db->delete($this->_nameTable, array("id_pagina" => $id))){
			
			return true;
		}
		
		    return false;
	}
	
}

class DocumentosEstatusPaginaTable
{
	
	
	/**
	 * 
	 * Enter description here ...
	 * @var $_id_pagina
	 */
	private $_id_pagina = 0;
	
	/**
	 * 
	 * Enter description here ...
	 * @var $_numero_pagina
	 */
	private $_numero_pagina = 0;
	/**
	 * 
	 * Enter description here ...
	 * @var $_contenido_pagina
	 */
	private $_contenido_pagina = "";
	/**
	 * 
	 * Enter description here ...
	 * @var unknown_type
	 */
	private $_id_documento = 0;
	
	/**
	 * 
	 * Enter description here ...
	 * @param  $objeto
	 */
	public function __construct($objeto)
	{
		$this->_id_pagina        = $objeto->id_pagina;
		$this->_numero_pagina    = $objeto->numero_pagina;
		$this->_contenido_pagina = $objeto->contenido_pagina;
		$this->_id_documento     = $objeto->id_documento;
	}
	/**
	 * @return the $_id_pagina
	 */
	public function getId_pagina() {
		return $this->_id_pagina;
	}

	/**
	 * @return the $_numero_pagina
	 */
	public function getNumero_pagina() {
		return $this->_numero_pagina;
	}

	/**
	 * @return the $_contenido_pagina
	 */
	public function getContenido_pagina() {
		return $this->_contenido_pagina;
	}

	/**
	 * @return the $_id_documento
	 */
	public function getId_documento() {
		return $this->_id_documento;
	}

	/**
	 * @param field_type $_id_pagina
	 */
	public function setId_pagina($_id_pagina) {
		$this->_id_pagina = $_id_pagina;
	}

	/**
	 * @param field_type $_numero_pagina
	 */
	public function setNumero_pagina($_numero_pagina) {
		$this->_numero_pagina = $_numero_pagina;
	}

	/**
	 * @param field_type $_contenido_pagina
	 */
	public function setContenido_pagina($_contenido_pagina) {
		$this->_contenido_pagina = $_contenido_pagina;
	}

	/**
	 * @param field_type $_id_documento
	 */
	public function setId_documento($_id_documento) {
		$this->_id_documento = $_id_documento;
	}

	
	
	
}
